package com.ljm.mp.util;

import com.alibaba.fastjson.JSONObject;
import com.ljm.mp.constant.MpUrlConstant;
import com.ljm.mp.dto.MenuDto;
import com.ljm.mp.exception.MpException;
import com.ljm.mp.http.HttpUtil;

import java.text.MessageFormat;

public class MenuUtil {
    private MenuUtil(){}

    /**
     * 新增自定义菜单
     * @param accessToken
     * @param menuDto
     */
    public static void createMenu(String accessToken,MenuDto menuDto){
        String jsonStr=HttpUtil.httpPost(MessageFormat.format(MpUrlConstant.MENU_CREATE,accessToken), JSONObject.toJSONString(menuDto));
        String errcode=JSONObject.parseObject(jsonStr).getString("errcode");
        if("0".equals(errcode)){
            throw new MpException("新增自定义菜单出错"+jsonStr);
        }
    }

    /**
     * 新增个性化菜单
     * @param accessToken
     * @param menuDto
     * @return
     */
    public static String addConditional(String accessToken, MenuDto menuDto){
        String jsonStr=HttpUtil.httpPost(MessageFormat.format(MpUrlConstant.ADDCONDITIONAL,accessToken), JSONObject.toJSONString(menuDto));
        if(!jsonStr.contains("menuid")){
            throw new MpException("新增个性化菜单出错"+jsonStr);
        }
        return jsonStr;
    }

    /**
     * 删除个性化菜单
     * @param accessToken
     * @return
     */
    public static void delConditional(String accessToken,String menuid){
        String jsonStr="{\"menuid\":\""+menuid+"\"}";
        String result=HttpUtil.httpPost(MessageFormat.format(MpUrlConstant.DELCONDITIONAL,accessToken),jsonStr);
        String errcode=JSONObject.parseObject(result).getString("errcode");
        if("0".equals(errcode)){
            throw new MpException("删除个性化菜单出错"+result);
        }
    }

    public static String tryMatch(String accessToken,String userId) {
        String jsonStr="{\"user_id\":\""+userId+"\"}";
        return HttpUtil.httpPost(MessageFormat.format(MpUrlConstant.TRYMATCH,accessToken),jsonStr);
    }

}
